package com.yuan.controller.background;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yuan.bean.User;
import com.yuan.bean.UserLogin;
import com.yuan.service.UserLoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@Controller
public class UserInfoController {

    @Autowired
    UserLoginService userLoginService;

    @GetMapping("/userAdd")
    public String userAddPage(){
        return "background/userAdd";
    }

    //返回所有用户信息
    @ResponseBody
    @GetMapping("/selectUserInfo")
    public PageInfo<UserLogin> userInfo(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum){
        PageHelper.startPage(pageNum,5);
        final List<UserLogin> userLogins = userLoginService.selectAll();
        PageInfo<UserLogin> pageInfo=new PageInfo<>(userLogins);
        return pageInfo;
    }

    //后台添加用户
    @ResponseBody
    @PostMapping("/saveUser")
    public boolean saveUser(@RequestBody UserLogin userLogin){
        final boolean b = userLoginService.saveUser(userLogin);
        return b;
    }

    //删除通过userId删除用户
    @ResponseBody
    @PostMapping("/delUser")
    public boolean delByUserId(@RequestBody Map<String,Integer> map){
        final boolean userId = userLoginService.delByUserId(map.get("userId"));
        return userId;
    }

    //后台修改用户信息
    @ResponseBody
    @PostMapping("/updateUserInfo")
    public boolean updateUserInfo(@RequestBody UserLogin userLogin){
        final boolean b = userLoginService.updateUserInfo(userLogin);
        return b;
    }

    //通过userId查询对应的用户信息
    @ResponseBody
    @GetMapping("/selByUserId")
    public UserLogin selectByUserId(@RequestParam("userId")Integer userId){
        final UserLogin userLogin = userLoginService.selectByUserId(userId);
        return userLogin;
    }

}
